查看原文
其他

目标进大厂 or 高校的硕博生,推荐一个边玩游戏边学习的宝藏平台

奇妙探险家 投必得学术 2022-05-07


笔者是一名工科生,大学本科是能源相关专业,对C++基本语法略通。笔者第一次进导师实验室的时候,看到研究生们人手一台电脑编写代码,这时笔者才知道原来读研是要学习编程的。因此读研第一年,除了上课以外,笔者就将主要精力用于学习编程语言,待到研二正式进入实验室就是编程做仿真、做程序了。
有了成果才能够写SCI论文(毕业要求),因为SCI论文,笔者用业余时间学习了一门编程语言,但收获绝不仅仅是一个编程技能,在学习过程中不仅培养了对编程的爱好,也让笔者有兴趣尝试一些程序员工作。 
笔者作为一个非专业的编码爱好者,完全靠自学编程,因受益良多,所以也推荐大家读研读博期间如果有机会也学习一下编程。这里分享一个笔者非常喜欢的网站——codewars(www.codewars.com),它是一个通过解决多种类型和难度级别的编程任务,帮助您学习、训练和提高编程技能的平台。用户可以订制想学习的编程语言、学习难度以及学习方式。


1.codewars有什么用?


下图是一个codewars挑战界面,左边是挑战介绍(都是英文的),右边是编写代码的窗口和测试内容。codewars的操作很简单,挑战难度要比能力稍高,比玩手游、网游还要上头。



磨练你的技能


codewars提供了很多小型编码练习,这些练习可以帮助用户加强不同编程语言的编码技能。用户在codewars上可以挑战自己,掌握当前选择的编程语言,或扩展对编程语言的理解。


获取实例练习


在浏览器上编写代码,解决小型问题。用户可以测试案例检查代码,可以反复训练提高代码的质量和编码技能。


获得军衔和荣誉


codewars提供了不同级别的挑战难度,kata排名从初学者到专家。当用户完成更高等级的挑战时,就会逐步晋级,从而开发编码技能的潜力。


挖掘集体智慧


codewars提供了所有挑战的解决方案,用户可以对比自己的解决方案与其他人的解决方案,以便更好地理解和提高。


创建自己的kata


codewars的编程专注于用户的兴趣,也有开发人员面试问题,以及挑战创造力极限的问题。在编码挑战中,用户可以获得作为老师的荣誉。


2.codewars的注册账号


如果你想要使用Codewars平台,首先要注册一个账号,注册流程比较简单——一个邮箱就足够了,但是还有一个小测试才能完成注册。

(1)注册完成以后,选择你想要挑战的编程语言,如下图所示。codewars基本覆盖了比较流行的编程语言。



(2)选择一个编码语言以后,就会进入第一个(入门级)挑战(两个整数的乘法),如下图所示。在这里直接输入你的代码,点击“SUBMIT”就可以提交。


如果您的代码运行得到的答案是正确的,那么用户可以看到红色提醒,如下图所示。


它会提示您“代码没有正确执行,试着找出原因。”这个时候不要慌,好好看看它的提示,找出错误原因,再点击“TRY AGAIN”,重新编写代码并提交。



如果您的代码运行得到的答案是正确的,那么用户可以看到绿色提醒,如下图所示。



(3)恭喜!你解决了你的第一个Codewars挑战。现在您已准备好完成帐户的创建。只需填写一些详细信息或使用您的 GitHub 帐户在Codewars上进行身份验证,如下图所示。



重要提示:Codewars将向您发送一封电子邮件,要求您确认帐户。在您的帐户得到确认之前,某些操作(例如发表评论)将受到限制。如果您在收件箱中找不到该电子邮件,请检查您的垃圾邮件文件夹。如果您的帐户尚未确认,则重新发送确认电子邮件的按钮位于帐户设置中。
一定要记住帐号密码,编码用浏览器就可以足够了,不需要其它编辑器。


3.codewars的初体验

介绍完了注册,再来说说Codewars的初次体验。Codewars的Training Setup可以修改你的挑战难度等级、编码语言,如下图所示。


进入kata,可以看到挑战的题目,如下图所示。如果觉得太难或太简单,可以跳过。


挑战这个题目,进入如下图所示的界面。笔者使用的是浏览器的翻译插件,可以很容易帮助我们看懂挑战的题目:


编写一个函数,接收一个或多个单词的字符串,并返回相同的字符串,但所有五个或更多字母的单词都颠倒了(就像这个Kata的名字一样)。传入的字符串将仅包含字母和空格。仅当存在多个单词时才会包含空格。(翻译来自谷歌翻译,翻译不好没关系,但是不耽误我们理解)


Examples: spinWords( "Hey fellow warriors" ) => returns "Hey wollef sroirraw"  spinWords( "This is a test") => returns "This is a test"  spinWords( "This is another test" )=> returns "This is rehtona test"(不理解题目没关系,好好看看example,有助于理解题目)



输入自己的代码,测试一下,出错了,不要紧,修改一下,就正确了。


再试一下其它测试题目,也通过了,可以提交代码了。



提交代码以后,就可以看到其他人的代码了,果然比我这个菜鸡要牛,一行代码就解决了。



4.codewars:一个高效的学习方法


学习一门编程语言就像学习英语一样,需要量的积累才能产生质变。


笔者用这个网站学习、巩固编程能力,效果还是很明显的。原本不熟悉的语法也在不知不觉间掌握了,原本要翻书查找的语法也能逐渐信手拈来,原来可能要好几行代码才能实现的方法,最后可能只需要一行了。


不同于看书看视频,这个网站提供了很多实际问题,让用户自己思考解决方法,方法可以不唯一,结果是唯一的。


解决一个编程问题以后,非常有成就感。看看别人更好的解决方法,又感觉自己很菜鸡,仍需努力。每解决一个问题,会得到相应的荣誉值,升级自己的等级,让人充满斗志。


笔者觉得codewars是一个非常有意思的平台,但不是唯一可以用于学习编程语言的平台。相比于其他平台,codewars给出的问题更加贴合实际工作与生活,很多题都会给出题目背景,更有代入感。唯一的不足大概是codewars网站为全英文界面吧,但是用浏览器的翻译插件就可以解决语言问题,还是很容易理解练习题目的。


如果您对codewars有什么疑问,欢迎有兴趣的读者留言!




往期好文推荐


(点击下方文字即可阅读)

多所高校再现清退,读博的你怕了吗?如何规避?

喜讯,又一篇SCI发表于国产1区期刊!

付费正版软件还想免费?这两个网站告诉你白嫖的最高境界



今日视频推荐



在线词组翻译神器还能语法和使用比较
点开视频即可了解!↑↑↑关注“投必得学术”视频号,更多干货↑↑↑



点击“阅读原文”了解投必得业务类型~
请大家点击右下角投必得分享给更多有需要的人

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存